Field of the Invention
The present invention is directed generally to a method of displaying a user interface of a first application within a user interface of a second application.
Description of the Related Art
A virtual application is a virtual machine image pre-configured with all of the files, registry data, settings, components, runtimes, and other dependencies required for a specific application to execute immediately and without installation on a host computing device. The virtual application is partially isolated from other applications implemented on a host computing device and partially isolated from an underlying host operating system installed and executing on the host computing device. The virtual application is encapsulated from the host operating system by a virtual runtime environment, which includes a virtual operating system, that receives operations performed by the virtualized application and redirects them to one or more virtualized locations (e.g., a virtual filesystem, virtual registry, and the like).
Thus, the virtual application may be conceptualized as including two components: a virtualization runtime and a virtual application configuration. The virtualization runtime implements the virtual runtime environment, which implements various operating system application programming interfaces (“APIs”) in such a way that allows the executing virtual application to access and interact with items that may not be present on the host computer. The virtual application configuration includes data necessary to implement the virtual application within the virtualization runtime.
The virtual application is stored in and implemented by one or more data files and/or executable files. Depending upon the implementation details, the one or more data files and/or executable files storing and implementing the virtual application may include blocks of data corresponding to each application file of a natively installed version of the application. Herein, these blocks of data will be referred to as “virtual application files.” The one or more data files and/or executable files storing and implementing the virtual application also include configuration information. When the virtual application is executed, the configuration information is used to configure the virtual operating system to execute the virtual application. For example, the configuration information may contain information related to the virtual application files, virtual registry entries, environment variables, services, and the like. The virtual operating system is configured to communicate with the host operating system as required to execute the virtual application on the host computing device.
Presently, separate applications must be developed for local execution (e.g., within Microsoft Windows) and execution over the Internet (e.g., inside a web browser, such as Internet Explorer). In particular, different interfaces must be created for the separate applications. Therefore, a need exists for a method of hosting a first application (e.g., an application designed to execute within a local operating system such as Microsoft Windows) within a second application (e.g., a web browser) such that an interface developed for one environment (e.g., Microsoft Windows) may be implemented (or hosted) in a second different environment (e.g., a web browser). The present application provides these and other advantages as will be apparent from the following detailed description and accompanying figures.